<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../general.ent">
  %general-entities;
]>

<sect1 id="ch-system-kmod" role="wrap">
  <?dbhtml filename="kmod.html"?>

  <sect1info condition="script">
    <productname>kmod</productname>
    <productnumber>&kmod-version;</productnumber>
    <address>&kmod-url;</address>
  </sect1info>

  <title>Kmod-&kmod-version;</title>

  <indexterm zone="ch-system-kmod">
    <primary sortas="a-Kmod">Kmod</primary>
  </indexterm>

  <sect2 role="package">
    <title/>

    <para>The Kmod пакет содержит библиотеки и утилиты для загрузки модулей ядра</para>

    <segmentedlist>
      <segtitle>&buildtime;</segtitle>
      <segtitle>&diskspace;</segtitle>

      <seglistitem>
        <seg>&kmod-ch6-sbu;</seg>
        <seg>&kmod-ch6-du;</seg>
      </seglistitem>
    </segmentedlist>

  </sect2>

  <sect2 role="installation">
    <title>Установка пакета Kmod</title>

    <para>Подготовьте пакет Kmod к компиляции:</para>

<screen><userinput remap="configure">./configure --prefix=/usr          \
            --bindir=/bin          \
            --sysconfdir=/etc      \
            --with-rootlibdir=/lib \
            --with-xz              \
            --with-zlib</userinput></screen>

    <variablelist>
      <title>Значение параметров конфигурации:</title>

      <varlistentry>
        <term><parameter>--with-xz, --with-zlib</parameter></term>
        <listitem>
          <para>Эти аргументы позволяют Kmod обрабатывать сжатые модули ядра.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><parameter>--with-rootlibdir=/lib</parameter></term>
        <listitem>
          <para>Этот параметр обеспечивает размещение разных файлов, связанных с библиотекой
           в правильных каталогах.</para>
        </listitem>
      </varlistentry>

    </variablelist>

    <para>Скомпилируйте пакет:</para>

<screen><userinput remap="make">make</userinput></screen>

    <para>В пакете не предусмотрено выполнение тестов в среде LFS. Как минимум требуется программа git и несколько тестов не будут выполняться вне репозитория git.</para>

<!--
    <para>Для выполнения тестов, выполните команду:</para>

<screen><userinput remap="test">make check</userinput></screen>
-->
    <para>Установите пакет, и создайте символические ссылки для обеспечения совместимости с Module-Init-Tools (пакет, который ранее обрабатывал
    модули ядра Linux):</para>

<screen><userinput remap="install">make install

for target in depmod insmod lsmod modinfo modprobe rmmod; do
  ln -sfv ../bin/kmod /sbin/$target
done

ln -sfv kmod /bin/lsmod</userinput></screen>

  </sect2>

  <sect2 id="contents-kmod" role="content">
    <title>Содержимое пакета Kmod</title>

    <segmentedlist>
      <segtitle>Установленные программы</segtitle>
      <segtitle>Установленная библиотека</segtitle>

      <seglistitem>
        <seg>depmod (link to kmod), insmod (link to kmod), kmod,
        lsmod (link to kmod), modinfo (link to kmod), modprobe (link to kmod),
        and rmmod (link to kmod)</seg>
        <seg>libkmod.so</seg>
      </seglistitem>
    </segmentedlist>

    <variablelist>
      <bridgehead renderas="sect3">Краткое описание</bridgehead>
      <?dbfo list-presentation="list"?>
      <?dbhtml list-presentation="table"?>

      <varlistentry id="depmod">
        <term><command>depmod</command></term>
        <listitem>
          <para>Создает файл зависимостей на основе символов, которые он находит в
          существующем наборе модулей; этот файл зависимостей используется программой
          <command>modprobe</command> для автоматической загрузки необходимых
          модулей</para>
          <indexterm zone="ch-system-kmod depmod">
            <primary sortas="b-depmod">depmod</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="insmod">
        <term><command>insmod</command></term>
        <listitem>
          <para>программа для вставки модуля в ядро Linux</para>
          <indexterm zone="ch-system-kmod insmod">
            <primary sortas="b-insmod">insmod</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="kmod">
        <term><command>kmod</command></term>
        <listitem>
          <para>Загружает и выгружает модули ядра</para>
          <indexterm zone="ch-system-kmod kmod">
            <primary sortas="b-kmod">kmod</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="lsmod">
        <term><command>lsmod</command></term>
        <listitem>
          <para>Выводит список загруженных модулей</para>
          <indexterm zone="ch-system-kmod lsmod">
            <primary sortas="b-lsmod">lsmod</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="modinfo">
        <term><command>modinfo</command></term>
        <listitem>
          <para>Изучает объектный файл, связанный с модулем ядра и
           отображает любую информацию, которую он может получить</para>
          <indexterm zone="ch-system-kmod modinfo">
            <primary sortas="b-modinfo">modinfo</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="modprobe">
        <term><command>modprobe</command></term>
        <listitem>
          <para>Использует файл зависимостей, созданный
          <command>depmod</command>, для автоматической загрузки соответствующих модулей</para>
          <indexterm zone="ch-system-kmod modprobe">
            <primary sortas="b-modprobe">modprobe</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="rmmod">
        <term><command>rmmod</command></term>
        <listitem>
          <para>Выгружает модули из работающего ядра</para>
          <indexterm zone="ch-system-kmod rmmod">
            <primary sortas="b-rmmod">rmmod</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="libkmod">
        <term><filename class="libraryfile">libkmod</filename></term>
        <listitem>
          <para>Эта библиотека используется другими программами для загрузки и выгрузки модулей ядра</para>
          <indexterm zone="ch-system-kmod">
            <primary sortas="c-libkmod">libkmod</primary>
          </indexterm>
        </listitem>
      </varlistentry>

    </variablelist>

  </sect2>

</sect1>

